import request from '@/config/axios'

// 图表数据 VO
export interface ChartDataVO {
  xdata: string[] // X轴数据
  ydata: number[] // Y轴数据
}

// 统计数据 VO
export interface StatisDataVO {
  bookTotalCount: number // 书籍总量
  applyTotalCount: number // 申请总量
  inBookCount: number // 漂入书籍
  outBookCount: number // 漂出书籍
  userTotalCount: number // 会员总量
  lifeUserCount: number // 月活用户
  inBookUserCount: number // 捐入人数
  outBookUserCount: number // 捐出人数
  newBookChart: ChartDataVO // 月新漂入书籍趋势
  newUserChart: ChartDataVO // 月新增用户趋势
}

// 来往书籍 VO
export interface LwBookVO {
  title: string // 书名
  isbn: string // isbn编号
  publisher: string // 出版社
  pubDate: Date // 出版时间
  pubYear: Date // 出版年限
  pageCount: number // 页数
  applyStatus: string // 流程状态
  storeStatus: string // 入库状态
  storeTime: Date // 入库时间
  donor: number // 捐献人id
  donorName: string // 捐献人
  nowHolder: number // 当前持有人id
  remark: string // 备注
  compliance: boolean // 备注
}

// 来往书籍 API
export const LwBookApi = {
  // 查询来往书籍分页
  getLwBookPage: async (params: any) => {
    return await request.get({ url: `/bk/lw-book/page`, params })
  },

  // 查询来往书籍详情
  getLwBook: async (id: number) => {
    return await request.get({ url: `/bk/lw-book/get?id=` + id })
  },

  // 新增来往书籍
  createLwBook: async (data: LwBookVO) => {
    return await request.post({ url: `/bk/lw-book/create`, data })
  },

  // 修改来往书籍
  updateLwBook: async (data: LwBookVO) => {
    return await request.put({ url: `/bk/lw-book/update`, data })
  },

  // 删除来往书籍
  deleteLwBook: async (id: number) => {
    return await request.delete({ url: `/bk/lw-book/delete?id=` + id })
  },

  // 导出来往书籍 Excel
  exportLwBook: async (params) => {
    return await request.download({ url: `/bk/lw-book/export-excel`, params })
  },

  // 根据ISBN获取书籍信息
  getIsbn: async (isbn: string) => {
    return await request.post({ url: `/bk/lw-book/getIsbnByApi`, data: { isbn } })
  },

  // 获取统计数据
  getStatisData: async (params?: any) => {
    return await request.get({ url: `/bk/lw-book/statis-data`, params })
  },
}
